package com.hl.handler;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import lombok.extern.log4j.Log4j;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * 
 * @author Liu Huan
 */
@Slf4j      // 添加日志
@Component  // 让 spring 来管理，将处理器添加到 IOC 容器
public class MyMetaObjectHandler implements MetaObjectHandler {
	
	@Override   // 插入时填充
	public void insertFill(MetaObject metaObject) {
		log.info("start insert fill ...");
		// 设置 创建时 填充
		this.setFieldValByName("gmtCreate", new Date(), metaObject);
		// 设置 更新时 填充
		this.setFieldValByName("gmtModified", new Date(), metaObject);
		
	}
	
	@Override   // 更新时填充
	public void updateFill(MetaObject metaObject) {
		log.info("start update fill ...");
		this.setFieldValByName("gmtModified", new Date(), metaObject);
	}
}
